<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: TrigMux      (Trigger Multiplexer)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__trigmux.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">TrigMux (Trigger Multiplexer)</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The trigger multiplexer provides access to the multiplexer that selects a set of trigger output signals from different peripheral blocks to route them to the specific trigger input of another peripheral block. </p>
<p>The functions and other declarations used in this driver are in cy_trigmux.h. You can include cy_pdl.h to get access to all functions and declarations in the PDL.</p>
<p>The TrigMux driver is based on the trigger multiplexer's hardware block. The Trigger multiplexer block consists of multiple trigger multiplexers. These trigger multiplexers are grouped in trigger groups. All the trigger multiplexers in the trigger group share similar input options.</p>
<p>For PERI_ver1: The trigger multiplexer groups are either reduction multiplexers or distribution multiplexers. The figure below illustrates a generic trigger multiplexer block implementation with a reduction multiplexer layer of N trigger groups and a distribution multiplexer layer of M trigger groups. </p><div class="image">
<img src="trigmux_architecture.png" alt="trigmux_architecture.png"/>
</div>
<p> The reduction multiplexer groups have input options that are the trigger outputs coming from the different peripheral blocks and the reduction multiplexer groups route them to intermediate signals. The distribution multiplexer groups have input options from these intermediate signals and route them back to multiple peripheral blocks as their trigger inputs.</p>
<p>For PERI_ver2: The trigger multiplexer groups structure is flat - all the groups are essentially distribution multiplexers (there are no any intermediate trigger signals), so the structure is simpler in comparison with PERI_ver1, however a bit less flexible. Additionally there are another type of trigger interconnections: one-to-one trigger lines. These are not multiplexers, only single trigger wires from/to the dedicated peripherals. Multiple groups of one-to-one trigger lines significantly improve the whole triggering interconnect system flexibility.</p>
<p>The trigger architecture of the PSoC device is explained in the technical reference manual (TRM). Refer to the TRM to better understand the trigger multiplexer routing architecture available.</p>
<h1><a class="anchor" id="group_trigmux_section_Configuration_Considerations"></a>
Configuration Considerations</h1>
<p>For PERI_ver1: To route a trigger signal from one peripheral in the PSoC to another, the user must configure a reduction multiplexer and a distribution multiplexer. The <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a> is used to configure a trigger multiplexer connection. The user will need two calls of this API, one for the reduction multiplexer and another for the distribution multiplexer, to achieve the trigger connection from a source peripheral to a destination peripheral.</p>
<p>For PERI_ver2: To route a trigger signal from one peripheral in the PSoC device to another, the user can configure either a trigger multiplexer using <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a> or a one-to-one trigger line using <a class="el" href="group__group__trigmux__functions.html#gab7106b8fe037e2ebbbb996289ad1fb00">Cy_TrigMux_Select</a>. Only one function call is required to connect one peripheral to another (unlike for PERI_ver1).</p>
<p>The <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6" title="Connects an input trigger source and output trigger. ">Cy_TrigMux_Connect()</a> function has two main parameters, inTrig and outTrig that refer to the input and output trigger lines connected using the multiplexer. These parameters are represented in the following format:<br />
 For PERI_ver1: </p><div class="image">
<img src="trigmux_parameter_30.png" alt="trigmux_parameter_30.png"/>
</div>
<p> For PERI_ver2: </p><div class="image">
<img src="trigmux_parameter_30_2.png" alt="trigmux_parameter_30_2.png"/>
</div>
<p> In addition, the <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a> function also has an invert and trigger type parameter. Refer to the API reference for a detailed description of this parameter. All the constants associated with the different trigger signals in the system (input and output) are defined as constants in the device configuration header file.</p>
<p>For PERI_ver1: The constants for TrigMux in the device configuration header file are divided into four types based on the signal being input/output and being part of a reduction/distribution trigger multiplexer.</p>
<p>The four types of the input/output parameters are: 1) The parameters for the reduction multiplexer's inputs (input signals of TrigMux); 2) The parameters for the reduction multiplexer's outputs (intermediate signals); 3) The parameters for the distribution multiplexer's inputs (intermediate signals); 4) The parameters for the distribution multiplexer's outputs (output signals of TrigMux).</p>
<p>For PERI_ver2: There are two types of TrigMux signal definitions in the device configuration header: 1) The parameters for the trigger interconnection system input signals. 2) The parameters for the trigger interconnection system output signals. Also there are separate groups of trigger multiplexer input/outputs and groups of trigger one-to-one line input/outputs.</p>
<p>Refer to the TRM for a more detailed description of this architecture and different options.</p>
<p>The steps to connect one peripheral block to the other:</p>
<p>For PERI_ver1: Step 1. Find the trigger group number in the Trigger Group Inputs section of the device configuration header file that corresponds to the output of the source peripheral block. For example, TRIG11_IN_TCPWM0_TR_OVERFLOW0 (see <a class="el" href="group__group__trigmux__red__in__enums.html">Reduction Trigger Mutiplexer Inputs</a> and the diagram at the top of this section) input of the Reduction multiplexers belongs to Trigger Group 11.</p>
<p>Step 2. Find the trigger group number in the Trigger Group Outputs section of the device configuration header file that corresponds to the input of the destination peripheral block. For example, TRIG0_OUT_CPUSS_DW0_TR_IN0 (see <a class="el" href="group__group__trigmux__dst__out__enums.html">Distribution Trigger Mutiplexer Outputs</a>) output of the Distribution multiplexer belongs to Trigger Group 0.</p>
<p>Step 3. Find the same trigger group number in the Trigger Group Inputs section of the device configuration header file that corresponds to the trigger group number found in Step 1. Select the Reduction multiplexer output that can be connected to the trigger group found in Step 2. For example, TRIG0_IN_TR_GROUP11_OUTPUT0 (see <a class="el" href="group__group__trigmux__dst__in__enums.html">Distribution Trigger Mutiplexer Inputs</a>) means that Reduction Multiplexer Output 0 of Trigger Group 11 can be connected to Trigger Group 0.</p>
<p>Step 4. Find the same trigger group number in the Trigger Group Outputs section of the device configuration header file that corresponds to the trigger group number found in Step 2. Select the distribution multiplexer input that can be connected to the trigger group found in Step 1. For example, TRIG11_OUT_TR_GROUP0_INPUT9 (see <a class="el" href="group__group__trigmux__red__out__enums.html">Reduction Trigger Mutiplexer Outputs</a>) means that the Distribution Multiplexer Input 9 of Trigger Group 0 can be connected to the output of the Reduction multiplexer in Trigger Group 11 found in Step 3.</p>
<p>Step 5. Call <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6" title="Connects an input trigger source and output trigger. ">Cy_TrigMux_Connect()</a> API twice: the first call - with the constants for the inTrig and outTrig parameters found in Steps 1 and Step 4, the second call - with the constants for the inTrig and outTrig parameters found in Steps 2 and Step 3. For example: </p><div class="fragment"><div class="line"><span class="preprocessor">#if (CY_IP_MXPERI_VERSION == 1U)</span></div><div class="line">    (void)<a class="code" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a>(TRIG11_IN_TCPWM0_TR_OVERFLOW0, TRIG11_OUT_TR_GROUP0_INPUT9, <span class="keyword">false</span>, TRIGGER_TYPE_LEVEL);</div><div class="line">    (void)<a class="code" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a>(TRIG0_IN_TR_GROUP11_OUTPUT0, TRIG0_OUT_CPUSS_DW0_TR_IN0, <span class="keyword">false</span>, TRIGGER_TYPE_EDGE);</div><div class="line"><span class="preprocessor">#endif </span><span class="comment">/* CY_IP_MXPERI_VERSION */</span><span class="preprocessor"></span></div><div class="line">    <span class="comment">/* Note: the Cy_TrigMux_Connect return status is ignored here because the provided parameters are correct.</span></div><div class="line"><span class="comment">     * It is made here just to reduce the code snippet redundancy, it is not recommended to do so in the user code.</span></div><div class="line"><span class="comment">     */</span></div></div><!-- fragment --><p> For PERI_ver2: Step 1. Find the trigger group number in the Trigger Group Inputs section of the device configuration header file that corresponds to the output of the source peripheral block. For example, TRIG_IN_MUX_0_TCPWM0_TR_OVERFLOW0 (see <a class="el" href="group__group__trigmux__in__enums.html">Trigger Mutiplexer Inputs</a>) TrigMux input belongs to Trigger Group 0. It is the same TCPWM0 counter 0 overflow output (as in the example for PERI_ver1).</p>
<p>Step 2. Find the same trigger group number in the Trigger Group Outputs section of the device configuration header file that corresponds to the trigger group number found in Step 1. Select the TrigMux output that can be connected to the destination peripheral block. For example, TRIG_OUT_MUX_0_PDMA0_TR_IN0 (see <a class="el" href="group__group__trigmux__out__enums.html">Trigger Mutiplexer Outputs</a>) means that the trigger multiplexer Output 0 of Trigger Group 0 can be connected to the DW0 channel 0 trigger input (the same DMA channel as mentioned in the example for PERI_ver1).</p>
<p>Step 3. Call <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6" title="Connects an input trigger source and output trigger. ">Cy_TrigMux_Connect()</a> API once: </p><div class="fragment"><div class="line"><span class="preprocessor">#if (CY_IP_MXPERI_VERSION &gt;= 2U)</span></div><div class="line">    (void)<a class="code" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a>(TRIG_IN_MUX_0_TCPWM0_TR_OVERFLOW0, TRIG_OUT_MUX_0_PDMA0_TR_IN0, <span class="keyword">false</span>, TRIGGER_TYPE_EDGE);</div><div class="line"><span class="preprocessor">#endif </span><span class="comment">/* CY_IP_MXPERI_VERSION */</span><span class="preprocessor"></span></div><div class="line">    <span class="comment">/* Note: the Cy_TrigMux_Connect return status is ignored here because the provided parameters are correct.</span></div><div class="line"><span class="comment">     * It is made here just to reduce the code snippet redundancy, it is not recommended to do so in the user code.</span></div><div class="line"><span class="comment">     */</span></div></div><!-- fragment --> <h1><a class="anchor" id="group_trigmux_more_information"></a>
More Information</h1>
<p>For more information on the TrigMux peripheral, refer to the technical reference manual (TRM).</p>
<h1><a class="anchor" id="group_trigmux_Changelog"></a>
Changelog</h1>
<table class="doxtable">
<tr>
<th>Version</th><th>Changes</th><th>Reason for Change </th></tr>
<tr>
<td>1.70 </td><td>Updated <a class="el" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4">Cy_TrigMux_SwTrigger</a> and <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6">Cy_TrigMux_Connect</a> APIs. </td><td>Performance enhancement and bug fixes.  </td></tr>
<tr>
<td>1.60.1 </td><td>Updated <a class="el" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4">Cy_TrigMux_SwTrigger</a> API. </td><td>Coverity error fixes.  </td></tr>
<tr>
<td>1.60 </td><td>Updated Cy_TrigMux_SwTrigger API and added CY_TRIGMUX_INTRIG_MASK macro. </td><td>Support for CAT1D Devices added.  </td></tr>
<tr>
<td>1.50 </td><td>Updated driver to support the CAT1C family of devices. </td><td>Added new family of devices.  </td></tr>
<tr>
<td>1.40 </td><td>Fixed MISRA violation. </td><td>MISRA compliance.  </td></tr>
<tr>
<td rowspan="2">1.30 </td><td>Minor bug fixes. </td><td>Keep device specific changes under a compile time device flag.  </td></tr>
<tr>
<td>Added new device support. </td><td>Added new family of device.  </td></tr>
<tr>
<td>1.20.3 </td><td>Minor documentation updates. </td><td>Removed MISRA 2004 compliance details and verified MISRA 2012 compliance.  </td></tr>
<tr>
<td>1.20.2 </td><td>Minor documentation updates. </td><td>Documentation enhancement.  </td></tr>
<tr>
<td>1.20.1 </td><td>Documentation is extended/improved. </td><td>Enhancement based on usability feedback.  </td></tr>
<tr>
<td rowspan="3">1.20 </td><td>Flattened the organization of the driver source code into the single source directory and the single include directory. </td><td>Driver library directory-structure simplification.  </td></tr>
<tr>
<td><p class="starttd">Added new API functions:</p><ul>
<li><a class="el" href="group__group__trigmux__functions.html#gab7106b8fe037e2ebbbb996289ad1fb00">Cy_TrigMux_Select</a></li>
<li><a class="el" href="group__group__trigmux__functions.html#ga9cf035a60df4c7073280b8ac21666b22">Cy_TrigMux_Deselect</a></li>
<li><a class="el" href="group__group__trigmux__functions.html#ga797820d8e7c746129d354888da382498">Cy_TrigMux_SetDebugFreeze</a></li>
</ul>
<p class="endtd">Modified the <a class="el" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4">Cy_TrigMux_SwTrigger</a> API function logic.  </p>
</td><td>New devices support.  </td></tr>
<tr>
<td>Added register access layer. Use register access macros instead of direct register access using dereferenced pointers. </td><td>Makes register access device-independent, so that the PDL does not need to be recompiled for each supported part number.  </td></tr>
<tr>
<td>1.10.1 </td><td>Renamed the internal macro in <a class="el" href="group__group__trigmux__functions.html#ga3671fac144b75c3b3eddc5ab46ae96f6" title="Connects an input trigger source and output trigger. ">Cy_TrigMux_Connect()</a> function to CY_TRIGMUX_IS_TRIGTYPE_VALID. </td><td></td></tr>
<tr>
<td>1.10 </td><td>The input/output bit in the trigLine parameter of the <a class="el" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4" title="This function generates a software trigger on an input trigger line. ">Cy_TrigMux_SwTrigger()</a> function is changed to 30.<br />
 The invert parameter type is changed to bool.<br />
 Added input parameter validation to the API functions. </td><td></td></tr>
<tr>
<td>1.0 </td><td>Initial version </td><td></td></tr>
</table>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__trigmux__macros"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__trigmux__macros.html">Macros</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__trigmux__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__trigmux__functions.html">Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__trigmux__enums"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__trigmux__enums.html">Enumerated Types</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga882218319ecd105dede8b382e9a1c4a4"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE <a class="el" href="group__group__trigmux__enums.html#ga30a0d3f7caf6a59d3fb7a618a95ed6ae">cy_en_trigmux_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4">Cy_TrigMux_SwTrigger</a> (uint32_t trigLine, uint32_t cycles)</td></tr>
<tr class="memdesc:ga882218319ecd105dede8b382e9a1c4a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates a software trigger on an input trigger line.  <a href="#ga882218319ecd105dede8b382e9a1c4a4">More...</a><br /></td></tr>
<tr class="separator:ga882218319ecd105dede8b382e9a1c4a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga882218319ecd105dede8b382e9a1c4a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga882218319ecd105dede8b382e9a1c4a4">&#9670;&nbsp;</a></span>Cy_TrigMux_SwTrigger()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE <a class="el" href="group__group__trigmux__enums.html#ga30a0d3f7caf6a59d3fb7a618a95ed6ae">cy_en_trigmux_status_t</a> Cy_TrigMux_SwTrigger </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>trigLine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>cycles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function generates a software trigger on an input trigger line. </p>
<p>All output triggers connected to this input trigger will be triggered. The function also verifies that there is no activated trigger before generating another activation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">trigLine</td><td>The input of the trigger mux.<ul>
<li>Bit 30 represents if the signal is an input/output. When this bit is set, the trigger activation is for an output trigger from the trigger multiplexer. When this bit is reset, the trigger activation is for an input trigger to the trigger multiplexer.<br />
</li>
<li>For PERI_ver1 Bits 11:8 represent the trigger group selection.<br />
</li>
<li>For PERI_ver2 Bits 12:8 represent the trigger group selection.<br />
 In case of output trigger line (bit 30 is set):<br />
 For PERI_ver1:</li>
<li>Bits 6:0 select the output trigger number in the trigger group.<br />
 For PERI_ver2:</li>
<li>Bits 7:0 select the output trigger number in the trigger group.<br />
 In case of input trigger line (bit 30 is unset):</li>
<li>Bits 7:0 select the input trigger signal for the trigger multiplexer.</li>
</ul>
</td></tr>
    <tr><td class="paramname">cycles</td><td>The number of "Clk_Peri" cycles during which the trigger remains activated.<br />
 For PERI_ver1: The valid range of cycles is 1 ... 254.<br />
 For PERI_ver2: The only valid value of cycles is 2 (<a class="el" href="group__group__trigmux__macros.html#ga9347a341f6903dee749841fae0dcb4a5">CY_TRIGGER_TWO_CYCLES</a>).<br />
 Also there are special values (supported with both PERI_ver1 and PERI_ver2):<ul>
<li>CY_TRIGGER_INFINITE - trigger remains activated until the user deactivates it by calling this function with CY_TRIGGER_DEACTIVATE parameter.</li>
<li>CY_TRIGGER_DEACTIVATE - this is used to deactivate the trigger activated by calling this function with CY_TRIGGER_INFINITE parameter.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status:<ul>
<li>CY_TRIGMUX_SUCCESS: The trigger is successfully activated/deactivated.</li>
<li>CY_TRIGMUX_INVALID_STATE: The trigger is already activated/not active.</li>
<li>CY_TRIGMUX_BAD_PARAM: Some parameter is invalid.</li>
</ul>
</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    </div><div class="line">    <span class="comment">/* Scenario: Software Trigger the DW0 channel 0 */</span></div><div class="line"><span class="preprocessor">#if (CY_IP_MXPERI_VERSION == 1U)</span></div><div class="line">    <span class="keywordflow">if</span> (<a class="code" href="group__group__trigmux__enums.html#gga30a0d3f7caf6a59d3fb7a618a95ed6aea19e80892aa7755dd38c708994502d02c">CY_TRIGMUX_SUCCESS</a> != <a class="code" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4">Cy_TrigMux_SwTrigger</a>(TRIG0_OUT_CPUSS_DW0_TR_IN0, <a class="code" href="group__group__trigmux__macros.html#ga9347a341f6903dee749841fae0dcb4a5">CY_TRIGGER_TWO_CYCLES</a>))</div><div class="line"><span class="preprocessor">#else </span><span class="comment">/* CY_IP_MXPERI_VERSION &gt; 1 */</span><span class="preprocessor"></span></div><div class="line">    <span class="keywordflow">if</span> (<a class="code" href="group__group__trigmux__enums.html#gga30a0d3f7caf6a59d3fb7a618a95ed6aea19e80892aa7755dd38c708994502d02c">CY_TRIGMUX_SUCCESS</a> != <a class="code" href="group__group__trigmux.html#ga882218319ecd105dede8b382e9a1c4a4">Cy_TrigMux_SwTrigger</a>(TRIG_OUT_MUX_0_PDMA0_TR_IN0, <a class="code" href="group__group__trigmux__macros.html#ga9347a341f6903dee749841fae0dcb4a5">CY_TRIGGER_TWO_CYCLES</a>))</div><div class="line"><span class="preprocessor">#endif </span><span class="comment">/* CY_IP_MXPERI_VERSION */</span><span class="preprocessor"></span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div><div class="line">    </div></div><!-- fragment --></dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
